package org.reliablesource.jdt.model;

import org.eclipse.jdt.core.IJavaElement;
import org.reliablesource.model.core.IReliableElement;
import org.reliablesource.model.core.IReliableNode;

/**
 * 
 * ISourceElementInfo.java<br>
 * Copyright (c) 2007, Reliable Source, Inc. All Rights Reserved<br>
 * <br>
 * 
 * Created on: Apr 19, 2007 <br>
 * <br>
 * 
 * @author Dennis Park <a
 *         href="mailto:dennis.park@gmail.com">dennis.park@gmail.com</a>
 * 
 */
public interface ISourceElementInfo extends IReliableNode {

	// NOTE: String constants used dually as mapKey and Screen output.
	final public static String NUM_LINES = Messages.ReliableElement_0;
	final public static String MODIFIED = "Last Modified";
	final public static String[] PROPERTIES = { IReliableElement.NAME,
			NUM_LINES, MODIFIED };

	final public static int NAME_IDX = 0;
	final public static int NUM_LINES_IDX = 1;
	final public static int MODIFIED_IDX = 2;

	final public static int[] PROP_TABLE_IDX = { NAME_IDX, NUM_LINES_IDX,
			MODIFIED_IDX };

	/**
	 * @return the numLines
	 */
	public String getNumLines();

	/**
	 * @param numLines
	 *            the numLines to set
	 */
	public void setModified(String _modified);

	public String getModified();

	public IJavaElement getJavaElement();

	public void setJavaElement(IJavaElement _elt);
}
